package com.fly.office.example;

import com.fly.office.constant.ChartEnum;
import com.fly.office.word.model.ChartModel;
import com.fly.office.word.tool.WordTool;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 折线图测试案例
 * @author lf
 */
public class LineChart {

    public static void main(String[] args) {
        ChartModel model = initModel();
        model.setTplPath("/word/line_chart.docx");
        model.setOutPath("D:\\data\\word\\line_chart.docx");

        WordTool.generate(model);
    }

    public static ChartModel initModel()
    {
        ChartModel model = new ChartModel();
        //图表模型
        model.setChartModel(ChartEnum.CHART_LINE);
        //图表标识KEY
        model.setKey("line");
        //图表名称
        model.setChartName("账户分析");

        //标题列表
        List<String> titles=new ArrayList<>();
        titles.add("");
        titles.add("存款");
        titles.add("欠款");
        titles.add("还款");
        model.setTitles(titles);

        //字段名列表
        List<String> fields = new ArrayList<>();
        fields.add("item1");
        fields.add("item2");
        fields.add("item3");
        fields.add("item4");
        model.setFields(fields);

        // 数据集合
        List<Map<String, String>> dataList = new ArrayList<Map<String, String>>();

        // 第一行数据
        Map<String, String> base1 = new HashMap<String, String>();
        base1.put("item1", "2020-05");
        base1.put("item2", (int)(1 + Math.random() * (100 - 1 + 1)) + "");
        base1.put("item3", (int)(1 + Math.random() * (100 - 1 + 1)) + "");
        base1.put("item4", (int)(1 + Math.random() * (100 - 1 + 1)) + "");
        dataList.add(base1);

        // 第二行数据
        Map<String, String> base2 = new HashMap<String, String>();
        base2.put("item1", "2020-06");
        base2.put("item2", (int)(1 + Math.random() * (100 - 1 + 1)) + "");
        base2.put("item3", (int)(1 + Math.random() * (100 - 1 + 1)) + "");
        base2.put("item4", (int)(1 + Math.random() * (100 - 1 + 1)) + "");
        dataList.add(base2);

        // 第三行数据
        Map<String, String> base3 = new HashMap<String, String>();
        base3.put("item1", "2020-07");
        base3.put("item2", (int)(1 + Math.random() * (100 - 1 + 1)) + "");
        base3.put("item3", (int)(1 + Math.random() * (100 - 1 + 1)) + "");
        base3.put("item4", (int)(1 + Math.random() * (100 - 1 + 1)) + "");
        dataList.add(base3);

        model.setDataList(dataList);

        return model;
    }

}
